package 炫彩基类

import (
	common "gitee.com/go_888/xcgui/xcgui/common"
	xcc "gitee.com/go_888/xcgui/xcgui/xcc"
)

// 模态窗口_创建, 创建模态窗口; 当模态窗口关闭时, 会自动销毁模态窗口资源句柄.
//
//
//
//
//
// ff:模态窗口_创建
// nWidth:宽度
// nHeight:高度
// pTitle:标题内容
// hWndParent:父窗口句柄
// XCStyle:XC样式
func X模态窗口_创建(宽度, 高度 int32, 标题内容 string, 父窗口句柄 uintptr, XC样式 xcc.X窗口样式) int {
	r, _, _ := xModalWnd_Create.Call(uintptr(宽度), uintptr(高度), common.X文本到uintptr(标题内容), 父窗口句柄, uintptr(XC样式))
	return int(r)
}

// 模态窗口_创建扩展, 创建模态窗口, 增强功能.
//
//
//
//
//
//
//
//
//
//
// ff:模态窗口_创建EX
// dwExStyle:扩展样式
// dwStyle:样式
// lpClassName:类名
// x:左上角x坐标
// y:左上角y坐标
// cx:宽度
// cy:高度
// pTitle:窗口名
// hWndParent:父窗口
// XCStyle:XC样式
func X模态窗口_创建EX(扩展样式, 样式 uint32, 类名 string, 左上角x坐标, 左上角y坐标, 宽度, 高度 int32, 窗口名 string, 父窗口 uintptr, XC样式 xcc.X窗口样式) int {
	r, _, _ := xModalWnd_CreateEx.Call(uintptr(扩展样式), uintptr(样式), common.X文本到uintptr(类名), uintptr(左上角x坐标), uintptr(左上角y坐标), uintptr(宽度), uintptr(高度), common.X文本到uintptr(窗口名), 父窗口, uintptr(XC样式))
	return int(r)
}

// 模态窗口_启用自动关闭, 是否自动关闭窗口, 当窗口失去焦点时.
//
//
// ff:模态窗口_启用自动关闭
// hWindow:模态窗口句柄
// bEnable:开启开关
func X模态窗口_启用自动关闭(模态窗口句柄 int, 开启开关 bool) int {
	r, _, _ := xModalWnd_EnableAutoClose.Call(uintptr(模态窗口句柄), common.X布尔值到uintptr(开启开关))
	return int(r)
}

// 模态窗口_启用ESC关闭, 当用户按ESC键时自动关闭模态窗口.
//
//
// ff:模态窗口_启用ESC关闭
// hWindow:模态窗口句柄
// bEnable:是否启用
func X模态窗口_启用ESC关闭(模态窗口句柄 int, 是否启用 bool) int {
	r, _, _ := xModalWnd_EnableEscClose.Call(uintptr(模态窗口句柄), common.X布尔值到uintptr(是否启用))
	return int(r)
}

// 模态窗口_启动, 启动显示模态窗口, 当窗口关闭时返回:
//   - xcc.MessageBox_Flag_Ok: 点击确定按钮退出.
//   - xcc.MessageBox_Flag_Cancel: 点击取消按钮退出.
//   - xcc.MessageBox_Flag_Other: 其他方式退出.
//
// ff:模态窗口_启动
// hWindow:模态窗口句柄
func X模态窗口_启动(模态窗口句柄 int) xcc.X消息框 {
	r, _, _ := xModalWnd_DoModal.Call(uintptr(模态窗口句柄))
	return xcc.X消息框(r)
}

// 模态窗口_结束, 结束模态窗口.
//
//
//   - xcc.MessageBox_Flag_Ok: 点击确定按钮退出.
//   - xcc.MessageBox_Flag_Cancel: 点击取消按钮退出.
//   - xcc.MessageBox_Flag_Other: 其他方式退出.
// ff:模态窗口_结束
// hWindow:窗口句柄
// nResult:结果
func X模态窗口_结束(窗口句柄 int, 结果 xcc.X消息框) int {
	r, _, _ := xModalWnd_EndModal.Call(uintptr(窗口句柄), uintptr(结果))
	return int(r)
}

// 模态窗口_附加窗口, 返回窗口资源句柄.
//
//
// ff:模态窗口_附加窗口
// hWnd:外部窗口句柄
// XCStyle:XC样式
func X模态窗口_附加窗口(外部窗口句柄 uintptr, XC样式 xcc.X窗口样式) int {
	r, _, _ := xModalWnd_Attach.Call(外部窗口句柄, uintptr(XC样式))
	return int(r)
}
